package com.example.vueback.config;

import lombok.Data;

@Data
public class AxiosResult {

    private Integer code;
    private String msg;
    private Object data;

    public static AxiosResult success(Object data) {
        AxiosResult axiosResult = new AxiosResult();
        axiosResult.setCode(200);
        axiosResult.setMsg("");
        axiosResult.setData(data);
        return axiosResult;
    }

    public static AxiosResult success(String msg, Object data) {
        AxiosResult axiosResult = new AxiosResult();
        axiosResult.setCode(200);
        axiosResult.setMsg(msg);
        axiosResult.setData(data);
        return axiosResult;
    }

    public static AxiosResult success(Integer code, String msg, Object data) {
        AxiosResult axiosResult = new AxiosResult();
        axiosResult.setCode(code);
        axiosResult.setMsg(msg);
        axiosResult.setData(data);
        return axiosResult;
    }

    public static AxiosResult error(Integer code, String msg, Object data) {
        AxiosResult axiosResult = new AxiosResult();
        axiosResult.setCode(code);
        axiosResult.setMsg(msg);
        axiosResult.setData(data);
        return axiosResult;
    }

    public static AxiosResult error(String msg, Object data) {
        AxiosResult axiosResult = new AxiosResult();
        axiosResult.setCode(403);
        axiosResult.setMsg(msg);
        axiosResult.setData(data);
        return axiosResult;
    }

    public static AxiosResult error(Object data) {
        AxiosResult axiosResult = new AxiosResult();
        axiosResult.setCode(403);
        axiosResult.setMsg("");
        axiosResult.setData(data);
        return axiosResult;
    }
}
